//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//	Roam.h
//		Define the related definitions of roaming module
//	history --
//
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//Define the state of roam module
#define ROAM_INACTIVE						0
#define ACTIVE								1
#define DOUBLE_CHK_LOCK						2
#define QUERY_ESS							3

//#define ROAM_LOCK_PERIOD				(1000)
#define ROAM_TIME_PERIOD				(100)	//ROAM time UNIT
#define ROAM_LOCK_PERIOD				10	//How many ROAM time UNIT
//#define ROAM_TIME_PERIOD				(500)	//ROAM time UNIT
//#define ROAM_LOCK_PERIOD				2	//How many ROAM time UNIT


// STATIC functions


//
// Roam task global CONSTANTS, STRUCTURES, variables
//

//////////////////////////////////////////////////////////////////////////
//define the msg type of Roaming module
#define ROAMMSG_ROAM_REQ			0x01
#define ROAMMSG_TIMEOUT				0x02
#define ROAMMSG_DEAUTHEN_IND		0x03
#define ROAMMSG_DISASSOC_IND		0x04

///////////////////////////////////////////////////////////////////////////
#define TIMECOUNT_TO_INDICATE_DISCONNECT		7
#define PS_TIMECOUNT_TO_INDICATE_DISCONNECT		14

///////////////////////////////////////////////////////////////////////////
//Global data structures

typedef struct ROAM_PARAMETERS
{
	///NDIS_MINIPORT_TIMER			nTimer;
	OS_TIMER					nTimer;
	USHORT						wState;
	USHORT						wUnlockNum;
	USHORT						wSignalLostNum;
	USHORT						reserved;

	ULONG						RoamTime;

	UCHAR						boInTimerHandler;
	UCHAR						TimeCount;
	UCHAR						TimeToIndDisc;		//How many time units to indicate disconnect
	UCHAR						reserved_1;

} ROAM_PARAMETERS, *psROAM_PARAMETERS;

// Encapsulate 'Adapter' data structure
#define psROAM			(&(Adapter->sRoamPara))


